<?php
class Cms_CommentController extends Zend_Controller_Action {
    private $_languages = array();
    public function init() {
        $this->_languages = Utils_Global::getSupportLanguages();
    }
    
	public function commentAction() {
	    $courseId = intval(Utils_Global::$params['course_id']);
	    $username = trim(Utils_Global::$params['username']);
	    $email = trim(Utils_Global::$params['email']);
	    $comment = trim(Utils_Global::$params['comment']);
	    $ip = $_SERVER['REMOTE_ADDR'];
	    $result = array();
	    if(!$username) {
	    	$result['code'] = 0;
	    	$result['message'] = 'Vui lòng nhập họ tên';
	    	$this->_helper->json($result);
	    }
	    if(!$email || !Utils_CommonFunction::isValidEmail($email)) {
	    	$result['code'] = 0;
	    	$result['message'] = 'Vui lòng nhập email hợp lệ';
	    	$this->_helper->json($result);
	    }
	    if(!$courseId) {
	        $result['code'] = 0;
	        $result['message'] = "Vui lòng cho biết khóa học";
	        $this->_helper->json($result);
	    }
	    if(!$comment) {
	        $result['code'] = 0;
	        $result['message'] = "Vui lòng nhập nội dung";
	        $this->_helper->json($result);
	    }
	    
	    $model = Cms_Model_Comment::factory();
	    $data = array('course_id' => $courseId,
	                    'username' => strip_tags($username),
	                    'email' => $email,
	                    'comment' => strip_tags($comment),
	                    'dateline' => time(),
	                    'active' => 0,
	                    'ip' => $ip,
	    );
	    $insertResult = $model->insert($data);
	    
	    if($insertResult > 0) {
	        $model = Cms_Model_Course::factory();
	        $courseInfo = $model->getCourses(array('lang' => 'vi', 'id' => $courseId));
	        $courseInfo =  $courseInfo[0];
	        //Send email to admin
	        $adminEmail = Utils_Global::getConfig('cms', 'application', 'adminemail');
	        if($adminEmail) {
    	        $adminEmail = $adminEmail->toArray();
    	        $courseHref = $this->view->serverUrl() . $this->view->url(array('title_seo' => $courseInfo['seo_title'], 'id' => $courseInfo['id']), 'course_detail');
    	        $emailContent = "<a href='" . $courseHref . "' target='_blank'>Xem bình luận</a><b/>";
    	        $emailContent .= "[" . $comment . "]";
    	        Utils_CommonFunction::sendMail($adminEmail, 'Bình luận khóa học ' . $courseInfo['content'], $emailContent);
	        }
	        $result['code'] = 1;
	        $result['message'] = "Cảm ơn bạn đã gửi bình luận, bình luận của bạn sẽ được kiểm duyệt trước khi hiển thị.";
	        $data['dateline'] = date('d-m-Y H:i:s', $data['dateline']);
	        $result['data'] = $data;
	        $this->_helper->json($result);
	    } else {
	        $result['code'] = 0;
	        $result['message'] = "Có lỗi xảy ra, vui lòng thử lại!";
	        $this->_helper->json($result);
	    }
	}
	
	public function getCommentAction() {
	    $comments = array();
	    $courseId = Utils_Global::$params['id'];
	    $page = Utils_Global::$params['page'];
	    $limit = Utils_Global::$params['limit'];
	    if($page < 1) {
	    	$page = 1;
	    }
	    if(!$limit || $limit <= 0) {
	    	$limit = 10;
	    }
	    if($courseId) {
	    	$model = Cms_Model_Comment::factory();
	    	$condition = array('course_id' => $courseId, 'offset' => ($page - 1) *$limit, 'limit' => $limit);
	    	$comments = $model->select($condition);
	    	$total = $model->count($condition);
	    }
	    
	    $this->view->comments = $comments;
	    $this->view->totalItem = $total;
	    $this->view->page = $page;
	    $this->view->numRowPerPage = $limit;
	    $this->_helper->layout()->disableLayout();
	}
}
